コード例 #1
0
    public static CRenderObject CreateObject(params object[] args)
    {
        EWormParts type = (EWormParts)args[0];
        string     path = getPrefabPath(type);

        if (string.IsNullOrEmpty(path))
        {
            return(null);
        }

        Object     prefab = Resources.Load(path);
        GameObject go     = (GameObject)GameObject.Instantiate(prefab);

        if (go == null)
        {
            return(null);
        }

        List <object> list = args.ToList();

        list.RemoveRange(0, 1);
        object[] restArgs = list.ToArray();

        Transform dad  = WorldMan.Inst.GetParent(type);
        string    name = string.Format("{0} {1}", type, dad.childCount);

        go.transform.SetParent(dad);
        go.name = name;
        go.SetActive(false);
        CRenderObject obj = go.GetComponent <CRenderObject>();

        obj.Init(restArgs);
        return(obj);
    }
コード例 #2
0
 public Axon(float weight, Synapse synapse)
 {
     mWeight  = weight;
     mSynapse = synapse;
     size     = 0.001f * Globals.scale;
     if ((Globals.renderSwitch & EWormParts.axon) != 0)
     {
         render = ResManager.CreateObject(EWormParts.axon, Color.red, size);
     }
 }
コード例 #3
0
 public CMassPoint(float mass, Vector3 pos) : base(pos)
 {
     this.mass = mass;
     vel.Set(0, 0, 0);
     force.Set(0, 0, 0);
     if ((Globals.renderSwitch & EWormParts.point) != 0)
     {
         render = ResManager.CreateObject(EWormParts.point, Color.black, 0.02f * Globals.scale);
     }
 }
コード例 #4
0
ファイル: Axon.cs プロジェクト: kennyviperhk/CyberElegans
 public Axon(float weight, Synapse synapse)
 {
     mWeight    = weight;
     mSynapse   = synapse;
     sizeNormal = Globals.axon_normal;
     sizeSelect = Globals.axon_selected;
     if ((Globals.renderSwitch & EWormParts.axon) != 0)
     {
         render = ResManager.CreateObject(EWormParts.axon, Color.red, sizeNormal);
     }
 }
コード例 #5
0
    public CSpring(float len, float stiffness, float friction, CMassPoint p1, CMassPoint p2) : base(p1, p2)
    {
        length = len;
        if (len <= 0)
        {
            length = (p1.pos - p2.pos).magnitude * Mathf.Abs(len);
        }

        this.stiffness = stiffness;
        this.friction  = friction;
        if ((Globals.renderSwitch & EWormParts.spring) != 0)
        {
            render = ResManager.CreateObject(EWormParts.spring, Color.gray, 0.005f * Globals.scale);
        }
    }
コード例 #6
0
 public Neuron(string name, Vector3 pos, float threshold, float ratioX, float ratioY, float ratioZ, char type, int clr_index) : base(threshold, name, pos)
 {
     mType        = type;
     mRatioX      = ratioX;
     mRatioY      = ratioY;
     mRatioZ      = ratioZ;
     mColorIdx    = clr_index;
     mColor       = Globals.colors[clr_index];
     mColorPseSel = Color.red;
     mColorSel    = Color.green;
     size         = 0.005f * Globals.scale;
     if ((Globals.renderSwitch & EWormParts.neuron) != 0)
     {
         render = ResManager.CreateObject(EWormParts.neuron, Color.red, size);
     }
 }
コード例 #7
0
    public Muscle(float strength, CMassPoint p1, CMassPoint p2, string name) : base(1.0f, name, new Vector3(0, 0, 0))
    {
        this.strength    = strength;
        connector.status = 1;
        connector.p1     = p1;
        connector.p2     = p2;
        //mclass_id = i_mclass_id;
        length = (p1.pos - p2.pos).magnitude;
        //synapse->name = i_name;
        drawPos = (p1.pos * 2 + p2.pos * 98) / 100;
        color   = new Color(0.2f, 0.2f, 0.2f);

        if ((Globals.renderSwitch & EWormParts.muscle) != 0)
        {
            render = ResManager.CreateObject(EWormParts.muscle, color, 0.05f * Globals.scale);
        }
    }