Skip to content

Instantly share code, notes, and snippets.

View xdegtyarev's full-sized avatar
🧊

Alexander Degtyarev xdegtyarev

🧊
View GitHub Profile
Testing Mesh Skinning with different shaders today;
Timings:
Diffuse-Specular
Editor: ~1.5ms
IPOD5: ~2.3ms
Diffuse:
Editor: ~0.2ms-1.5ms
IPOD5: ~2ms
Unlit:
Editor: ~0.2ms-1.5ms
1) private не надо ставить, существует дефолтный модификатор видимости)
2) использу google translate если не уверен как по-английски что-то пишется. или спроси меня. и попробуй http://lingualeo.ru/
3) все типы умеют инициализироваться по умолчанию, не нужно писать Object o = null; Только если ты явно хочешь обнулить значение;
4) если ты не добавляешь какого либо функционала в get'еры/set'еры не испульзуй проперти, оставь поле, и если будет необходимо изменить поведение ебанешь проперти
5) любая конструкция if/else даже если состоит из 1 оператора должна быть написана со скобками if(){}else{} никаких if();else; аналогично для for/foreach
6) правильно название подбирай: UseAbility возвращает bool что вприницпе хуево и непонятно переименуй во что-то что из названия подсказывает что вернет bool например TryUseAbility()
7) (delegate(AbilityBase item) { return item.myType == abilityType; }); в контексте Comparer'oв вместо явных делегатов используй лямбды и анонимные функции читать легче
8) толково растаскивай код,
@xdegtyarev
xdegtyarev / CallJavaCode.cs
Created December 12, 2012 13:39
GettingResolutionStringJNI
using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;
using System;
public class DisplayManagerJNI : MonoBehaviour {
private IntPtr JavaClass;
private string getResolution;
void Start ()
{
@xdegtyarev
xdegtyarev / Get currency ios code from currency symbol
Created December 4, 2012 11:24
Get Currency Code From Currency Symbol
public string GetCurrencyCodeFromSymbol(string symbol)
{
Debug.Log("Retrieving symbol" + symbol);
RegionInfo regionalInfo;
foreach(CultureInfo o in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
{
regionalInfo = new RegionInfo(o.LCID);
Debug.Log("Regional Symbol" + regionalInfo.CurrencySymbol);
if(regionalInfo.CurrencySymbol == symbol)
{
@xdegtyarev
xdegtyarev / CompleteSharp.sublime-settings
Created November 10, 2012 19:44
CompleteSharp Unity3d config
{
// You probably want to configure this to something of your own.
// ${home}, ${env:<variable>}, ${project_path:} and ${folder:} tokens can be used in the completesharp_assemblies option.
//
// ${home} is replaced with the value of the HOME environment variable.
//
// ${env:<variable>} is replaced with the "variable" environment variable.
//
// ${project_path:} tries to find a file with the given name in all the registered project folders and
// returns the first file found, or the original file name if none is found.
@xdegtyarev
xdegtyarev / sublimeRunner
Created September 27, 2012 14:08
Unity Sublime Runner
//
// main.cpp
// SublimeRunner
//
// Created by Alexander Degtyarev on 9/27/12.
// Copyright (c) 2012 Alexander Degtyarev. All rights reserved.
//
#include <iostream>
#include <sstream>
Shader "xdegtyarev/Alpha8MaxBlended"
{
Properties
{
_MainTex ("Alpha8", 2D) = "white" {}
}
SubShader
{
Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
Shader "xdegtyarev/InvertedFog"
{
Properties
{
_FogTexture ("Alpha8", 2D) = "white" {}
_FogIntencity("Intencity", Float) = 0.5
}
SubShader
{
@xdegtyarev
xdegtyarev / launch
Created August 5, 2014 13:49
FSM example: launching fsm
public class Robot {
public FSM fsm;
void Start() {
fsm = new FSM( this );
}
void Update() {
fsm.Update();
@xdegtyarev
xdegtyarev / robot
Created August 5, 2014 13:49
FSM example: robot states
public class Charging : State {
public override void Execute( Robot entity ) {
if ( entity.charge == 100f ) {
entity.fsm.ChangeState( SearchHumans.Instance );
} else {
entity.DoCharge();
}
}