コード例 #1
0
        //Constructor:
        public ObjectState(GameObject obj)
        {
            properties = DefaultStats.DeepClone(obj.GetComponent <ObjectScript>().properties);

            name     = obj.GetComponent <SpriteRenderer>().sprite.name;
            position = new Vector2(obj.transform.position.x, obj.transform.position.y);
            rotation = obj.transform.rotation;
            scale    = obj.transform.localScale;
            mass     = obj.GetComponent <Rigidbody2D>().mass;
        }
コード例 #2
0
    private GameObject SpawnUnit(string unitName, Vector2 position, bool moveAnim = true)
    {
        GameObject obj = Resources.Load <GameObject>("Units/" + unitName);

        obj = Instantiate(obj, transform);

        obj.name = obj.GetComponent <SpriteRenderer>().sprite.name;
        obj.transform.localPosition = position;
        obj.transform.parent        = null;
        obj.transform.localScale    = new Vector3(0.1f, 0.1f);
        obj.GetComponent <CapsuleCollider2D>().enabled = false;
        obj.transform.GetChild(2).gameObject.SetActive(false);
        obj.GetComponent <Rigidbody2D>().bodyType   = RigidbodyType2D.Kinematic;
        obj.GetComponent <SpriteRenderer>().color   = new Color(1, 1, 1, 0);
        obj.GetComponent <GroupScript>().properties = DefaultStats.DeepClone(PlayerScript.allies.Count > 0 ? PlayerScript.allies[0].GetComponent <GroupScript>().properties : DefaultStats.defaultChar);
        StartCoroutine(SpawnAnimation(obj, moveAnim));
        return(obj);
    }