public override void Init() { base.Init(); //m_GameObject = obj; m_ScriptMachine = m_GameObject.GetComponent <CScriptMachine>(); m_ScriptMachine.SetMachine(this); m_ActiveZone = m_GameObject.transform.GetComponentInChildren <CMachineActiveZone>(); m_ActiveZone.Init(this); m_SpriteSheet = new CSpriteSheet(m_GameObject); m_SpriteSheet.Init(); m_SpriteSheet.SetAnimation(m_ScriptMachine.GetAnimation()); }
//------------------------------------------------------------------------------- /// Unity //------------------------------------------------------------------------------- void Start() { game = GameObject.Find("_Game").GetComponent <CGame>(); m_spriteSheet = new CSpriteSheet(gameObject); m_spriteSheet.Init(); m_openAnimation = new CAnimation(m_openMat, 4, 1, 2.0f); m_spriteSheet.SetAnimation(m_openAnimation); m_spriteSheet.setEndCondition(CSpriteSheet.EEndCondition.e_PingPong); m_objCamera = GameObject.Find("Cameras"); m_bGoodWay = true; m_enter_att = new GameObject(); m_exit_att = new GameObject(); m_enter_att.transform.parent = m_exit_att.transform.parent = gameObject.transform; m_enter_att.transform.position = m_exit_att.transform.position = transform.position; m_enter_att.transform.rotation = m_exit_att.transform.rotation = transform.rotation; m_exit_att.transform.Rotate(0, 0, 180); m_enter_att.AddComponent <CPorteAttenuation>().Init(m_PieceExit, m_PieceEnter, attenuation_enter_size); m_exit_att.AddComponent <CPorteAttenuation>().Init(m_PieceEnter, m_PieceExit, attenuation_exit_size); }
//------------------------------------------------------------------------------- /// //------------------------------------------------------------------------------- void MovePlayer(float fDeltatime) { if (m_GameObject.rigidbody != null) { Vector3 velocity = Vector3.zero; if (CApoilInput.MoveUp) { velocity += new Vector3(0, 1, 0); m_spriteSheet.SetAnimation(m_AnimVertical); m_spriteSheet.AnimationStart(); m_eMoveModState = EMoveModState.e_MoveModState_marche; } if (CApoilInput.MoveDown) { velocity += new Vector3(0, -1, 0); m_spriteSheet.SetAnimation(m_AnimVertical); m_spriteSheet.AnimationStart(); m_eMoveModState = EMoveModState.e_MoveModState_marche; } if (CApoilInput.MoveLeft) { velocity += new Vector3(-1, 0, 0); m_spriteSheet.SetAnimation(m_AnimHorizontal); m_spriteSheet.AnimationStart(); flipLeft(); m_eMoveModState = EMoveModState.e_MoveModState_marche; } if (CApoilInput.MoveRight) { velocity += new Vector3(1, 0, 0); m_spriteSheet.SetAnimation(m_AnimHorizontal); m_spriteSheet.AnimationStart(); flipRight(); m_eMoveModState = EMoveModState.e_MoveModState_marche; } if (!CApoilInput.MoveUp && !CApoilInput.MoveDown && !CApoilInput.MoveLeft && !CApoilInput.MoveRight) { m_spriteSheet.SetAnimation(m_AnimRepos); m_spriteSheet.AnimationStop(); m_eMoveModState = EMoveModState.e_MoveModState_attente; m_GameObject.rigidbody.velocity = Vector3.zero; } velocity.Normalize(); m_DirectionDeplacement = velocity; if (CApoilInput.WalkFast) { m_eMoveModState = EMoveModState.e_MoveModState_cours; } if (CApoilInput.WalkSlow) { m_eMoveModState = EMoveModState.e_MoveModState_discret; } CalculateSpeed(); m_GameObject.transform.position += m_fSpeed * velocity * fDeltatime; } else { Debug.LogError("Pas de rigid body sur " + m_GameObject.name); } }